<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <!-- 
        Promise 是 ES6 引入的异步编程的新解决方案。语法上Promise是一个构造函数,
        用来封装异步操作并可以获取其成功或失败的结果。

        1.Promise 构造函数: Promise (excutor) {}
        2.Promise.prototype.then 方法
        3.Promise.prototype.catch 方法
     -->

    <script>

        const p = new Promise((resolve, reject)=>{
            setTimeout(()=>{
                // 设置P对象的状态为失败,并且设置失败的值
                reject('出错了')
            },2000)
        })

        p.then(value => {}, reason => {
            console.log(reason)
        })

        p.catch(reason => {
            console.warn(reason)
        })
    </script>
</body>
</html>